[Ver2024.3 新機能]Snowflakeへのキーペア認証がサポートされました #Tableau

[Ver2024.3 新機能]Snowflakeへのキーペア認証がサポートされました #Tableau

Clock Icon2024.10.25

はじめに

2024年10月15日に Tableau Desktop 2024.3 がリリースされました。新機能の一つとして Snowflake への接続方法としてキーペア認証が正式にサポートされ、試してみましたのでこちらの記事で概要をまとめます。

https://help.tableau.com/current/tableau/en-us/whatsnew_all.htm

Tableau Cloud 使用時の注意点

上記のリリースノートにもありますが 2024年10月のアップデートで Tableau Cloud についても Snowflake へのキーペア認証がサポートされています。ただし、こちらは一部機能制限があります。また、コミュニティでもいくつか投稿があがっていますが、抽出更新のスケジュール実行時などでキーペア認証を使用することができません。こちらはドキュメントに明確に記載がなく機能制限に含まれるのか不明ですが、少なくとも執筆時点(2024/10/24)で一部制約がある点はご注意ください。

https://community.tableau.com/s/question/0D5cw000004dIUDCA2/why-cant-i-browse-for-the-private-key-file-when-adding-snowflake-key-pair-sign-in-settings

https://community.tableau.com/s/question/0D5cw000004nX5PCAU/snowflake-with-keypair-not-working-on-tableau-cloud?t=1729767719757

Tableau Desktop:キーペア認証の構成

こちらの手順は以下に記載があります。

https://help.tableau.com/current/pro/desktop/en-us/examples_snowflake.htm

前提条件

前提として以下の条件があり満たされていないとエラーとなるので予めご確認ください。

  • Tableau Desktop および Tableau Cloud バージョン 2024.3 以降
  • バージョン 3.4.0 以降の Snowflake の ODBC ドライバー
  • OpenSSL バージョン 3.x 以降

キーペアの作成

事前準備としてキーペアの作成を行います。ここでは以下の手順でパスフレーズ付きの秘密鍵を生成しました。

  • 秘密鍵を生成
$ openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8
Enter Encryption Password:
Verifying - Enter Encryption Password:
  • 公開鍵の生成
$ openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
Enter pass phrase for rsa_key.p8:
writing RSA key

こちらの手順は以下でも紹介されていますので、あわせてご参照ください。

https://docs.snowflake.com/ja/user-guide/key-pair-auth

Snowflake ユーザーの作成

Snowflake でキーペア認証用のユーザーを作成します。ここでは以下のコマンドでユーザーの作成と公開鍵を割り当てました。RSA_PUBLIC_KEY にはrsa_key.pub の内容を指定します。

USE ROLE USERADMIN;
CREATE USER tableau_user1 DEFAULT_ROLE = SYSADMIN;
ALTER USER tableau_user1 SET RSA_PUBLIC_KEY = 'xxxx';
DESCRIBE USER tableau_user1;

image

Tableau Desktop からキーペア認証で接続する

準備ができたら実際に Tableau Desktop からキーペア認証で接続します。Tableau Desktop の各リリースは以下より入手できます。

https://www.tableau.com/support/releases

2024.3 以降の Tableau Desktop から Snowflake への接続設定画面を開くと下図のように「キーペアを使用したサインイン」が追加されています。

image 1

キーペア認証を選択すると下図の項目が表示されるので、上記の手順ではrsa_key.p8 の名前で生成した秘密鍵ファイルを指定し、設定していた場合、パスフレーズも入力します。
※ここでは検証のため強めの権限で作業している点にご注意ください。

image 2

設定内容に問題なければキーペア認証によりログインできます。

image 3

ワークブックのパブリッシュ

適当なワークブックを作成し Tableau Cloud にパブリッシュしてみます。下図の通りデフォルトの設定でパブリッシュしてみます。

image 4

この際、認証方式としては「ユーザーにメッセージを表示」のみが選択できるようになっていました。

image 5

データソースをパブリッシュ

こちらも特に問題ありませんでした。何らかのテーブルに接続しパブリッシュします。

image 7

下図の通り Cloud 側で確認できました。

image 8

Tableau Cloud からキーペア認証でコンテンツを表示する

これまでの手順で Tableau Cloud にパブリッシュしたコンテンツを表示してみます。上記の通り、この際、一部制限や検証時点はうまく表示できないことがありました。

データ ソースの保存済み認証資格情報の追加

公式ドキュメントとしては以下に記載がありますが、Tableau Cloud でキーペア認証を使用するには Tableau Cloud に認証情報を保存する必要があります。

https://help.tableau.com/current/online/en-us/snowflake_key_pair_auth.htm#add-keypair-authentication-details

「マイアカウントの設定」を開きます。

image 9

「設定 > セキュリティ > データ ソースの保存済み認証資格情報」項目内の Snowflake について「キーペアの認証資格情報」を追加します。

image 10

下図の表示となるので、Snowflake への接続に使用する各種情報を指定します。

image 11

項目追加後は下図のようになり接続テストも行えます。

image 12

ワークブックの表示

資格情報を追加後、パブリッシュしたワークブックを Tableau Cloud から開いてみましたが、下図の表示となり内容を表示することはできませんでした。

image 13

データソースの表示

上記の手順でパブリッシュしたデータソースを使用するワークブックを作成してみます。この場合、キーペア認証でデータソースを使用することができ Web 作成によってワークブックのパブリッシュも可能でした。

image 14

パブリッシュしたワークブックの表示も問題ありませんでした。

image 15

抽出更新の作成

続けて Tableau Desktop からキーペア認証でパブリッシュしたデータソースに対して、抽出更新スケジュールを設定してみます。

はじめに、接続の編集から認証資格情報を埋め込みます。

image 16

すると下図の表示になるので、これまでと同様に設定します。

image 17

テストし問題なければ[保存]します。

image 18

すると下図の通り認証資格情報が埋め込まれます。

image 19

このデータソースに対して抽出更新をスケジュールします。

image 20

ジョブを実行してみましたがこちらは秘密鍵が見つからないとして、検証時は実行することができませんでした。上記のコミュニティの投稿でも同様の事象が見られているようでした。

image 21

Tableau Cloud からキーペア認証でデータソースに接続する

先程は Tableau Desktop からパブリッシュしたデータソースの使用でしたが、Tableau Cloud 上から Snowflake にキーペア認証による接続に関してです。

こちらは以下に記載があるように現時点ではサポートされないようです。

Note: Publishing workbooks with Snowflake key-pair authentication is not supported in web authoring. You must use Tableau Desktop to create the workbooks, which can then be published to Tableau Cloud

https://help.tableau.com/current/online/en-us/snowflake_key_pair_auth.htm

試してみましたが、下図の内容(ワークブック・フロー・データソースの作成・仮想接続)時にキーペア認証は作成できませんでした。

image 22

まとめ

まとめると2024年10月24時点で私が検証した結果、以下の通りでした。

  • Tableau Desktop
    • キーペア認証可能、ワークブック・データソースのパブリッシュも可能
  • Tableau Cloud
    • Tableau Desktop からパブリッシュしたキーペア認証によるデータソースを使用することは可能
      • Web 上で新しいワークブックを作成・表示もできる
    • Tableau Desktop からパブリッシュしたキーペア認証によるワークブックは表示できない
    • Tableau Desktop からパブリッシュしたキーペア認証によるデータソースに対して抽出更新スケジュールを設定できるが、実行時にエラーとなる

さいごに

Tableau の新機能である Snowflake へのキーペア認証を試してみました。現時点では Tableau Cloud での動作は不安定ですが、Tableau Desktop からの接続時には問題なく使用できます。
Snowflake 上でサービスユーザー(TYPE プロパティをSERVICE)を定義した場合、ユーザー名・パスワード認証がサポートされないため、今後は OAuth の構成が必須かと思っていたところのアップデートなので、個人的にはとても嬉しい機能です!Tableau Server については 2025.1 以降からサポートされるとのことです!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.